/*
 * @Author: wangming
 * @Date: 2021-05-18 14:41:18
 * @LastEditors: wangming
 * @LastEditTime: 2022-08-01 15:33:12
 * @Description: 万能页面配置
 */
import formconfig from './formconfig';
import { ecarhtsConfig } from './echarts'
const __config = {
  span: 24,
  aliasName: '',//别名
  disabled: false, // 只读
  hide: false,
  noItem: false, // 隐藏标题
  required: false, // 状态设置 required必填 disabled 只读 hide 隐藏
  viewInfo: false,// 查看
}
/**
 * 高级设置
 */
const __highSetUp = {
  RuleConditions: [], // 可视化显示规则
  formChecked: false, // 表单校验
  events: []
}
export const hlChildTable = {
  name: '表格配置',
  tagName: 'hlChildTable', // 标签名称
  __config: {
    modelCode: '',//字表模型
    stripe: false,
    getEntitymodelList: [], // 表单内字段
    pageStatus: 1, // 是否分页
    indexStatus: 1, // 是否序号
    dataCustomLoad: false, // 自定义加载选项
    dataCustomLoadFn: "", // 自定义加载函数
    columnTagName: 'hlChildColumn',
    operateTagName: 'hlChildOperate'
  },
  operate: {
    // 操作相关配置信息
    renderJsx: '', // 自定义渲染jsx函数
    isRender: false, // 是否自定义渲染
    fixed: false,
    width: 120,
    title: '操作',
    title_i18n: '',
    hide: false, // 隐藏操作栏目
    customBtn: [],
    customBtnShowNum: 3,
    name: '操作',
  },
}
export const btnTemplate = {
  __highSetUp,
  key: '',
  tagName: 'hlButton',
  name: '自定义',
  buttnType: 'auto', // form_submit 提交表单 form_reset 重置表单  process_start 流程发起 process_handle 流程处理 auto 自定义 print 打印
  processKey: '', // 关联对流程key
  processType: '', // 流程处理类型是否转办
  processServeId: '', // 模型服务id
  formkey: '', // 关联表单标识
  pageKey: '', // 链接按钮关联页面标识
  pageType: '', // 链接按钮 关联页面的类型
  headerRowNo: 1, // 标题行号
  startRowNo: 2, // 起始行号
  customServe: false, // 是否自定义业务服务
  tempalteURL: '', // 模版路径
  printKey: '',//打印模版key
  templateType: '', // 模板类型
  systemplateKey: '', // 系统模板key
  templateValues: '',//导入导出参数
  templateFile: '',// 导入导出模板路径
  templateFileName: '',// 导入导出模板名称
  importOnError: false,// 数据校验不通过
  importOnRepeat: false,// 重复数据
  __config: {
    beforeEvent: '',//执行自定义事件之前的钩子
    width: 120,
    type: 'primary', // 按钮类型
    icon: '', // 按钮图标
    plain: false, // 朴素按钮
    round: false, // 圆角按钮
    circle: false, // 圆形按钮
    name_i18n: '',//name 翻译
    timeout: 20,   // 导入时最大请求时间
    timeoutFlag: false,
    ...__config
  }
}
export const hlcustomBtn = {
  name: '自定义按钮',
  tagName: 'hlcustomBtn', // 标签名称
  icon: 'iconoperation31',
  version: '0.0.1',
  __config: {
    type: 'rowLayout',
    position: 'left',
    ...__config
  },
  __highSetUp,
  children: []// 按钮数组
}
export const hlTableList = {
  name: '表格',
  tagName: 'hlTableList', // 标签名称
  alias: 'tb',
  icon: 'iconbiaoge',
  version: '0.0.1',
  hlcustomBtn,
  __highSetUp,
  __config: {
    rowKey: 'id',
    caches: false,//是否开启查下条件缓存
    searchBtnPos: 'right', // right, center, left
    fullscreen: false,//全屏
    stripe: false,//斑马纹
    tableTitle: false,
    tableTitle_i18n: "",
    tableTitleContent: "",
    mqttFlag: false,//是否开启
    mqttKey: '',//Key
    mqttTopic: '',//主题
    mqttKeys: [],//匹配字段
    independentAdvancedSearch: undefined,
    advancedSearchConfig: {
      name: "搜索",
      tagName: "hlSearch", // 标签名称
      searchBtnPos: 'right', // right, center, left
      childrens: [], // 条件查询
      __config: {
        singleQuantity: 2, // 单行显示数量  2 3 4 0（自定义）
        singleQuantityCustom: 1, // 单行显示数量 自定义
      },
    },
    relationSearchCom: '', // 关联搜索组件
    type: 'rowLayout',
    cancelLoad: false, // 取消自动加载
    customColumn: false, // 自定义表头
    formKeys: [], // 隐藏域 表单隐藏的常用字段 {key,value}
    moduleId: '', // 绑定业务模型id
    modelCode: '', // 绑定的业务模型key
    getSearchmodelList: [], // 外置查询参数
    getEntitymodelList: [], // 表单内字段
    searchStatus: 0, // 查询类型
    selecteStatus: 0, // 选择类型
    pageStatus: 1, // 是否分页
    indexStatus: 1, // 是否序号
    showSummary: false, // 开启合计
    summaryMethod: 'PAGE',
    dataCustomLoad: false, // 自定义加载选项
    dataCustomLoadFn: "", // 自定义加载函数
    operate: {
      // 操作相关配置信息
      renderJsx: '', // 自定义渲染jsx函数
      isRender: false, // 是否自定义渲染
      fixed: false,
      width: 120,
      title: '操作',
      title_i18n: '',
      hide: false, // 隐藏操作栏目
      customBtn: [],
    },
    ...__config
  }
}

export const hlListSelect = {
  // 列表选择组件
  name: '列表选择组件',
  icon: 'iconicon_danhangwenben_moren',
  tagName: 'hlListSelect', // 标签名称
  version: '0.0.1',
  __highSetUp,
  __config: {
    type: 'rowLayout',
    height: 600,
    moduleId: '',
    modelCode: '',
    showlabel: '',
    multiple: true,//是否多选
  },
  tableconfig: {
    name: '可选项',
    tagName: 'selectinlist',
    listType: 'Stable', // Slist 列表  Stable 表格
    __config: {
      moduleId: '',
      modelCode: '',
      getEntitymodelList: [], // 表单内字段
      openSearch: false,
      searchConfig: {
        dataCustomLoad: false,//自定义选项
        dataCustomLoadFn: null,
        name: "搜索",
        tagName: "hlSearch", // 标签名称
        childrens: [], // 条件查询
        __config: {
          singleQuantity: 2, // 单行显示数量  2 3 4 0（自定义）
          singleQuantityCustom: 1, // 单行显示数量 自定义
        },
      },
    }
  },
  activeconfig: {
    name: '已选项',
    tagName: 'activeinlist',
    __config: {
      codeValue: '',//数字字段
      customCode: false,
      explainValue: '',//说明
      showExplain: false,
      i18n: {},
      limitNumber: 2, //精度
      max: 999999999999, // 最大值
      min: 0, // 最小值
    }// 自定义显示
  }
}
export const hlTreeListSelect = {
  // 列表tree选择组件
  name: '树型选择组件',
  icon: 'iconicon_danhangwenben_moren',
  tagName: 'hlTreeListSelect', // 标签名称
  version: '0.0.1',
  __highSetUp,
  __config: {
    type: 'rowLayout',
    height: 600,
    moduleId: '',
    modelCode: '',
    showlabel: '',
    multiple: true,//是否多选
  },
  treeconfig: {
    name: '树菜单',
    tagName: 'selectintree', // 标签名称
    __config: {
      dataCustomLoad: false,//自定义选项
      dataCustomLoadFn: null,
      moduleId: '',
      modelCode: '',
      showlabel: '', // 节点标签
      defaultRoot: false// 默认选中根节点
    }
  },
  tableconfig: {
    name: '可选项',
    tagName: 'selectinlist',
    listType: 'Stable', // Slist 列表  Stable 表格
    __config: {
      dataCustomLoad: false,//自定义选项
      dataCustomLoadFn: null,
      openSearch: false,//开启搜索
      searchConfig: {
        dataCustomLoad: false,//自定义选项
        dataCustomLoadFn: null,
        name: "搜索",
        tagName: "hlSearch", // 标签名称
        childrens: [], // 条件查询
        __config: {
          singleQuantity: 2, // 单行显示数量  2 3 4 0（自定义）
          singleQuantityCustom: 1, // 单行显示数量 自定义
        },
      },//搜索条件
      moduleId: '',
      modelCode: '',
      getEntitymodelList: [] // 表单内字段
    }
  },
  activeconfig: {
    name: '已选项',
    tagName: 'activeinlist',
    __config: {
      codeValue: '',//数字字段
      customCode: false,
      explainValue: '',//说明
      showExplain: false,
      i18n: {},
      limitNumber: 2, //精度
      max: 999999999999, // 最大值
      min: 0, // 最小值
    }// 自定义显示
  }
}
export const desigconfig = {
  ...ecarhtsConfig,
  ...formconfig,
  hlButton: btnTemplate,
  hliframe: {
    name: 'iframe',
    key: '',
    tagName: 'hliframe',
    icon: 'iconiframe',
    __config: {
      type: 'rowLayout',
      url: '',
      height: 400,
      auto: true,
      authToken: false, // 是否平台认证
      showContent: false, // 只显示内容区域
      ...__config
    },
    __highSetUp
  },
  hlTableAdd: {
    // 老版本表格及明细
    name: '子表明细',
    icon: 'iconicon_biaogejimingxi_moren',
    tagName: 'hlTableAdd', // 标签名称
    modelName: '', // 字段名称
    version: '0.0.1',
    children: [],
    isFormLayout: true,
    defaultValue: [],
    __highSetUp,
    __config: {
      label: '子表明细',
      moduleId: '', // 绑定业务模型id
      modelCode: '', // 绑定业务模型code
      valueTeam: '',//子表关联主键字段
      type: 'rowLayout',
      ...__config
    }
  },
  hlChildTb: {
    // 表格及明细
    name: '子表',
    icon: 'iconzibiaodan',
    tagName: 'hlChildTb', // 标签名称
    modelName: '', // 字段名称
    version: '0.0.1',
    isFormLayout: true,
    hlcustomBtn,//子按钮
    hlChildsysBtn: {
      tagName: 'hlChildsysBtn',
      name: '添加',//内置按钮名称
      isFormLayout: true,
      __highSetUp,
      __config: {
        width: 120,
        type: 'primary', // 按钮类型
        icon: '', // 按钮图标
        plain: false, // 朴素按钮
        round: false, // 圆角按钮
        circle: false, // 圆形按钮
        hide: false, // 隐藏
        disabled: false,// 禁用
        name_i18n: '',
        sysBtn: true,
      },
    },
    hlChildForm: {
      name: '表单配置',
      children: [], // 条件查询
      tagName: 'hlChildForm', // 标签名称
      __config: {
        label: '表单',//标题
        openType: 'horizontally',//打开方式  hldrawer hldialog 
        moduleId: '', // 绑定业务模型id
        modelCode: '', // 绑定业务模型code
        type: 'rowLayout',
        formKeys: [], // 隐藏域 表单隐藏的常用字段 {key,value}
      }

    },//子表
    hlChildTable,
    __highSetUp,
    __config: {
      label: '子表',
      moduleId: '', // 绑定业务模型id
      modelCode: '', // 绑定业务模型code
      valueTeam: '',//子表关联主键字段
      minlength: 1,
      type: 'rowLayout',
      ...__config
    }
  },
  hlLayoutForm: {
    name: '表单',
    tagName: 'hlLayoutForm', // 标签名称
    icon: 'iconbiaodanguanli',
    version: '0.0.1',
    children: [],
    isFormLayout: true,
    __highSetUp,
    __config: {
      ...__config,
      moduleId: '', // 绑定业务模型id
      modelCode: '', // 绑定业务模型code
      position: 'right', // 表单布局信息
      labelSuffix: '', // 表单域标签的后缀
      labelFontSize: '14', // 标签大小
      labelColor: '#606266', // 颜色
      labelStyle: [], // b加粗 tdl下划线 tdlh中间线  i倾斜
      height: 150,//表单最小高度
      type: 'rowLayout',
      formKeys: [], // 隐藏域 表单隐藏的常用字段 {key,value}
    }
  },
  hlcustomBtn,
  hlSearch: {
    name: '搜索',
    tagName: 'hlSearch', // 标签名称
    icon: 'iconbiaodanguanli',
    version: '0.0.1',
    childrens: [], // 条件查询
    isFormLayout: false,
    __highSetUp,
    __config: {
      ...__config,
      searchBtnPos: 'right', // right, center, left
      moduleId: '', // 绑定业务模型id
      modelCode: '', // 绑定业务模型code
      singleQuantity: 2, // 单行显示数量  2 3 4 0（自定义）
      singleQuantityCustom: 1, // 单行显示数量 自定义
      formKeys: [], // 隐藏域 表单隐藏的常用字段 {key,value}
      type: 'rowLayout',
    }
  },
  hlDivider: {
    name: '分割线',
    tagName: 'hlDivider', // 标签名称
    icon: 'iconfengexian',
    version: '0.0.1',
    childrens: [], // 条件查询
    isFormLayout: false,
    __config: {
      ...__config,
      type: 'rowLayout',
      label: "分割线",
      direction: "horizontal",
      contentPosition: "center",
      contentColor: "#303133",
      lineType: "solid",
      lineColor: "#DCDFE6",
    }
  },
  hlTableList,
  hlTableForChildren: {
    ...hlTableList,
    name: '母子表',
    icon: 'iconfenhongjiqingpan',
    tagName: 'hlTableForChildren',
    hlChildTable: {
      ...hlChildTable, __config: {
        ...hlChildTable.__config,
        columnTagName: 'hlTableColumn',
        operateTagName: 'hlTableOperate'
      },
      isFormLayout: false,
    },
    hlChildConfig: {
      name: '子表配置',
      tagName: 'hlChildConfig',
      modelName: '',
      __config: {
        formType: 'code',//code model
        modelCode: '', // 绑定业务模型code
        valueTeamArg: [],//子表关联主键字段映射关系
        childTitle: false,
        childTitle_i18n: "",
        childTitleContent: "",
      }
    }
  },
  hlTableForRelation: {
    ...hlTableList,
    name: '关联数据表',
    icon: 'iconicon_biaogejimingxi_moren',
    tagName: 'hlTableForRelation',
    relationForm: []
  },
  hmList: {
    name: '列表',
    tagName: 'hmList', // 标签名称
    icon: 'iconliebiao',
    version: '0.0.1',
    __highSetUp,
    __config: {
      type: 'rowLayout',
      moduleId: '', // 绑定业务模型id
      ...__config
    }
  },
  hlTree: {
    name: '菜单树',
    tagName: 'hlTree', // 标签名称
    icon: 'iconshuliebiao',
    version: '0.0.1',
    __highSetUp,
    __config: {
      relationSearchCom: '', // 关联搜索组件
      type: 'rowLayout',
      moduleId: '', // 绑定业务模型id
      modelCode: '', // 业务模型code
      showSearch: true, // 开启搜索
      showlabel: '', // 节点标签
      dropMenu: '', // 下拉菜单渲染函数json
      isRender: false, // 是否开启自定义渲染
      renderJsx: '', // 节点自定义渲染函数json
      defaultRoot: false, // 默认选中根节点
      expandAll: false, // 默认只展开第一层
      lazyload: false, // 是否开启懒加载
      dataCustomLoad: false, // 自定义加载选项
      dataCustomLoadFn: "", // 自定义加载函数
      ...__config
    }
  },
  hlMindmap: {
    // 脑图，功能图
    name: '脑图树',
    icon: 'icon-Tree-Structure',
    tagName: 'hlMindmap', // 标签名称
    version: '0.0.1',
    __highSetUp,
    __config: {
      ...__config,
      relationSearchCom: '', // 关联搜索组件
      type: 'rowLayout',
      moduleId: '', // 绑定业务模型id
      modelCode: '', // 业务模型code
      hide: false, // hide 隐藏
      showlabel: '', // 节点标签
      direction: 'LR',
      mapType: 'compactBox', // compactBox mindmap
      sideJson: '', // 对称逻辑
      dropMenu: '', // 下拉菜单配置
      behavior: [],
      dataCustomLoad: false, // 自定义加载选项
      dataCustomLoadFn: "", // 自定义加载函数
    },
  },
  hlWorkflow: {
    // 流程显示
    name: '流程显示',
    icon: 'iconworkflow',
    tagName: 'hlWorkflow', // 标签名称
    version: '0.0.1',
    __highSetUp,
    __config: {
      ...__config,
      type: 'rowLayout',
      height: 600,
      formkey: ''
    }
  },
  hlProcess: {
    // 工艺流程
    name: '工艺流程',
    icon: 'iconliucheng',
    tagName: 'hlProcess', // 标签名称
    version: '0.0.1',
    defaultValue: '',
    modelName: '', // 字段名称
    drapButton: {
      tagName: 'drapButton',
      name: "工序",
      isFormLayout: true,
      __config: {
        hide: false,
        name_i18n: ''
      }
    },
    __highSetUp,
    __config: {
      ...__config,
      type: 'rowLayout',
    },
  },
}/**
 * 万能页面初始化全局配置数据 表单  列表设计 模态框通用
 */
export const FormDataJSON = {
  position: 'left', // 表单对其方式
  readyFun: 'ready', // 页面初始化执行函数名
  js: '', // 全局js脚本
  css: '', // 全局css
  composer: [], // 全局逻辑编排
  template: [], // 模版信息
  keepAlive: false,
  layout: { // 容器设置布局信息
    type: 'basic', // 容器类型
    styleType: '', // 容器样式 left center right
    data: {}, // 布局配置信息
    Aside: [], // 布局容器侧边栏
    Footer: [], // 布局容器底部
    Header: [] // 布局容器头部
  }
}
